/**
 * @author wcj
 * @Date 2021/6/8 19:59
 * @Version 1.0
 */
public interface ThreadPool<Job extends Runnable> {

    /**
     * 执行任务方法
     *
     * @param job
     */
    void execute(Job job);

    /**
     * 关闭线程池
     */
    void shutDown();

    /**
     * 添加工作者线程
     *
     * @param num
     */
    void addWorkers(int num);

    /**
     * 减少工作者线程
     *
     * @param num
     */
    void removeWorkers(int num);

    /**
     * 获取正在等待的任务数量
     *
     * @return
     */
    int getJogSize();
}
